//const app = getApp()
var startdraw=false;
var drawnum=0;
var hcount=0;
var drawing = false; /*避免多次点击保存按钮*/
var tmpAvatarUrl = ""; /*用于绘制头像*/
var tmpThumbs =[]; /*用于绘制icon*/
var tmpText=[];//文字描述
var windowHeight=wx.getSystemInfoSync().windowHeight;
Page({
  data: {
    showHeight:windowHeight,//根据选择数量调整画布长度
    count:0,//选择数
    arr:[],
    //用户信息
    isGetSet: true,
    userInfo: {},
    hasUserInfo: false,
    canIUse: wx.canIUse('button.open-type.getUserInfo'),
    canIUseGetUserProfile: false,
    canIUseOpenData: wx.canIUse('open-data.type.userAvatarUrl') && wx.canIUse('open-data.type.userNickName'), // 如需尝试获取用户信息可改为false
   
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    var that=this
    var count=JSON.parse(options.count);
    this.setData({
      count:count,
      arr:getApp().globalData.choiceAnswerNow //通过全局变量获得前面的选择
    })
    //   //准备材料绘制图片
    hcount=this.data.count;
    tmpThumbs=[]; // 先清空，再添加新的图
    tmpText=[];
    var sign=0;//计数
    this.data.arr.forEach(function(item) {
      if(item.clickIt){
        tmpText[sign]=item.txt;
        wx.getImageInfo({
          src:item.icon,
          success: (res) => {
            console.log("res.path:" + res.path)
           // tmpThumbs[sign]=res.path;
          tmpThumbs.push(res.path)
          }
        })
        sign++;
        console.log(sign);
      }
    })
    console.log("结束加载");
    for(var k=0;k<this.data.count;k++){
      console.log(tmpThumbs[k]);
      drawnum++;
      if(drawnum==this.data.count){
        startdraw=true;
      }
    }
    //调整画布高度
    if(count>12){
      var nh=Math.floor((count-12)/4)+1;
      this.setData({ 
        showHeight:windowHeight+nh*180+200,
      })
    }
    //
    if (wx.getUserProfile) {
      this.setData({
        canIUseGetUserProfile: true
      })
    }
    // //准备材料绘制图片
    // tmpThumbs=[]; // 先清空，再添加新的图
    // tmpText=[];
    // var sign=0;//计数
    // this.data.arr.forEach(function(item) {
    //   if(item.clickIt){
    //     tmpText[sign]=item.txt;
    //     wx.getImageInfo({
    //       src:item.icon,
    //       success: (res) => {
    //         console.log("res.path:" + res.path)
    //        // tmpThumbs[sign]=res.path;
    //       tmpThumbs.push(res.path)
    //       }
    //     })
    //     sign++;
    //     console.log(sign);
    //   }
    // })
    // console.log("结束加载");
    // for(var k=0;k<this.data.count;k++){
    //   console.log(tmpThumbs[k]);
    // }
  },
  //选择菜单
  longPress:function(){
    var that=this;
    wx.showActionSheet({
      itemList: ["保存到手机"],
      success:function(res){
        console.log("点击了:"+that[res.tapIndex])
        if(res.tapIndex===0){
          if(startdraw==true)
          {
            
            wx.showToast({
              title: '生成中……',
              icon: 'loading',
              duration: 5000
            })
           // setTimeout({
              
           // })
           
           var time=3000+hcount*500;
            setTimeout(()=>{
              that.savePoster();
                },time)
           
            console.log("保存");
          }
          else{
            wx.showToast({
              title: '绘制中……',
              icon: 'loading',
              duration: 3000
            })
          }
          
        }
        else{
          console.log("功能开发中...");
        }
      },
      fail:function(res){},
      complete:function(res){}
    })
  },
  // 发送给朋友
  onShareAppMessage() {
    const promise = new Promise(resolve => {
      setTimeout(() => {
        resolve({
          title: '友善中南' //自定义转发标题
        })
      }, 2000)
    })
    return {
      title: '友善中南', //自定义转发标题
      path: '/pages/show/show',
      promise
    }
  },
  // 分享到朋友圈
  onShareTimeline() {
    return {
      title: '友善中南',
      path: '/pages/show/show',
      imageUrl: '' //默认小程序logo
    }
  },
  
  /*保存海报到手机相册*/
  savePoster: function(e) {
    var that = this;
    //var current = this.data.current;
    //获取相册授权
    wx.getSetting({
      success(res) {
        if (!res.authSetting['scope.writePhotosAlbum']) {
          wx.authorize({
            scope: 'scope.writePhotosAlbum',
            success() { //这里是用户同意授权后的回调
              that.drawPoster();
            },
            fail() { //这里是用户拒绝授权后的回调
              wx.showModal({
                title: '提示',
                content: '若不打开授权，则无法将图片保存在相册中！',
                showCancel: true,
                cancelText: '去授权',
                cancelColor: '#000000',
                confirmText: '暂不授权',
                confirmColor: '#3CC51F',
                success: function(res) {
                  if (res) {
                    wx.openSetting({
                      //调起客户端小程序设置界面，返回用户设置的操作结果。
                    })
                  } else {
                    // console.log('用户点击取消')
                  }
                }
              })
            }
          })
        } else { //用户已经授权过了 
          that.drawPoster();
        }
      }
    })
  },
  /* 绘制海报*/
  drawPoster: function(current) {
    if(drawing){
      wx.showToast({
        title: '绘制中……',
        icon: 'loading',
        duration: 3000
      }) 
    }else{
      drawing = true;
      // loading 
      // 根据swiper当前所在滑块的 index判断绘制对应海报
      var flag=0;
        this.drawPosterOne();
    }  
  },
  drawPosterOne: function() {
    // this.setData({
    //   arr:getApp().globalData.choiceAnswerNow //通过全局变量获得前面的选择
    // })
   // let arr=this.data.arr;
    var count=this.data.count;
    var ctx = wx.createCanvasContext('canvasposter');
   // ctx.draw(false,this.getTempFilePath);
    //背景图
    ctx.rect(0, 0, 280, 450);
    ctx.setFillStyle('#FFCABA');
    ctx.fillRect(0, 0, 280, 450);
   // var sign=0;
    
    ctx.drawImage("/image/background3.png",0,0,280,400);
    //ctx.drawImage(tmpThumbs[0],42,64,120,120);
    //ctx.drawImage(tmpThumbs[3],42,64,120,120);
    for(var i=0;i<count;i++){
      var x=20+(i%4)*60;
      var t=Math.floor(i/4);
     var y=150+t*70;
     //console.log(count);
     var fani=count-i-1;
     ctx.drawImage(tmpThumbs[fani],x,y,40,40);
      ctx.setFontSize(8);
    ctx.setFillStyle('#333');
    ctx.setTextAlign="center";
    ctx.fillText(tmpText[i].substr(0, 5),x,y+50);
    ctx.setFontSize(8);
    ctx.setFillStyle('#333');
    ctx.setTextAlign="center";
    ctx.fillText(tmpText[i].substr(5, 10),x,y+60);
    ctx.restore()
    }
     ctx.draw(false,this.getTempFilePath);
     console.log("绘制完成");
    // ctx.draw(false,()=>{
    //   setTimeout(()=>{
    //     wx.canvasToTempFilePath({
    //       canvasId: 'canvasposter',
    //       success: (res) => {
    //         this.saveImageToPhotosAlbum(res.tempFilePath)
    //       }
    //     })
    //   },500)
    // })
   
    
  },
    //获取临时路径
    getTempFilePath: function() {
      wx.canvasToTempFilePath({
        canvasId: 'canvasposter',
        success: (res) => {
          this.saveImageToPhotosAlbum(res.tempFilePath)
        }
      })
    },
     //保存至相册
  saveImageToPhotosAlbum: function(imgUrl) {
    if (imgUrl) {
      wx.saveImageToPhotosAlbum({
        filePath: imgUrl,
        success: (res) => {
          wx.showToast({
            title: '保存成功',
            icon: 'success',
            duration: 2000
          })
          //drawsucess=true;
          drawing = false
        },
        fail: (err) => {
          wx.showToast({
            title: '保存失败',
            icon: 'none',
            duration: 2000
          })
          drawing = false
        }
      })
    }else{
      wx.showToast({
        title: '绘制中……',
        icon: 'loading',
        duration: 3000
      })
    }
  },
 
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})
/**获取保存相册授权*/
function getAuto(_success) {
  wx.getSetting({
    success(res) {
      if (!res.authSetting['scope.writePhotosAlbum']) {
        wx.authorize({
          scope: 'scope.writePhotosAlbum',
          success() {
            _success();
          }
        })
      } else {
        _success();
      }
    }
  })
}